package com.clothing.customization.repository;

import com.clothing.customization.entity.StyleImage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface StyleImageRepository extends JpaRepository<StyleImage, Long> {
    
    /**
     * 根据款式ID查询图片列表
     * @param styleId 款式ID
     * @return 图片列表
     */
    List<StyleImage> findByStyleIdOrderBySortAsc(Long styleId);
    
    /**
     * 根据款式ID删除图片
     * @param styleId 款式ID
     * @return 影响行数
     */
    @Modifying
    @Query("DELETE FROM StyleImage si WHERE si.styleId = :styleId")
    int deleteByStyleId(@Param("styleId") Long styleId);
    
    /**
     * 批量保存图片
     * @param styleId 款式ID
     * @param urls 图片URLs
     */
    @Modifying
    @Query(value = "INSERT INTO tb_style_image (style_id, url, sort, type, create_time) " +
           "VALUES (:styleId, :url, :sort, :type, NOW())", nativeQuery = true)
    void saveImage(
            @Param("styleId") Long styleId,
            @Param("url") String url,
            @Param("sort") Integer sort,
            @Param("type") Integer type
    );
} 